//using SubhadraSolutions.Sharp.Utils.Validation;
//using System;
//using System.Collections;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace SubhadraSolutions.Sharp.Utils.Validation.Validators
//{
//    public sealed class EnumerableValidator : IValidator
//    {
//        public IValidator Validator
//        {
//            get;
//            set;
//        }

//        public ValidationResult Validate(object obj, string objectName)
//        {
//            IEnumerable enumerable = (IEnumerable)obj;
//            int index = 0;
//            foreach (var item in enumerable)
//            {
//                ValidationResult result = Validator.Validate(item, objectName + '[' + index.ToString() + ']');
//                if (result.Status == ValidationStatus.Failure)
//                {
//                    return result;
//                }
//                index++;
//            }
//            return new ValidationResult
//            {
//                Status = ValidationStatus.Success
//            };
//        }
//    }
//}